%% @author Digi-Spike
%% @doc @todo Add description to erstellecvs.


-module(erstellecvs).

%% ====================================================================
%% API functions
%% ====================================================================
-export([makeheading/1,cvseintragen/1]).



%% ====================================================================
%% Internal functions
%% ====================================================================
makeheading(Folge)->schreibecvs:schreibe("Anzahl", "Algorithmus", "Maxteilsumme", "Index1", "Index2", "ZeitMitZugriff", "ZeitohneZugriff", "Zugriffe","Matrixzugriffe"),
					cvseintragen(Folge).

cvseintragen(Folge)->
	{ZeitohneZugriff,_} = timer:tc(maxTeilsumme3,forschleife1,[Folge]),
	{ZeitMitZugriff,{Maxteilsumme,Index1,Index2,Zugriffe}} = timer:tc(maxTeilsumme3mitzugriff,forschleife1,[Folge]),
	schreibecvs:schreibe(length(Folge), "MaxTeilsumme3", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,"%"),
	eintrag_maxteilsummeMatrix(Folge).

eintrag_maxteilsummeMatrix(Folge)->
	{ZeitohneZugriff,_} = timer:tc(maxteilsummeMatrix,maxSumme,[Folge]),
	{ZeitMitZugriff,{Maxteilsumme,{Index1,Index2},Zugriffe,Matrixzugriffe}} = timer:tc(maxteilsummeMatrixMitZugriff,maxSumme,[Folge]),
	schreibecvs:schreibe(length(Folge), "MaxTeilsummeMatrix", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,Matrixzugriffe),
	eintrag_maxteilsummeR(Folge).

eintrag_maxteilsummeR(Folge)->
	{ZeitohneZugriff,_} = timer:tc(maxteilsummeR,maxTeilsummeRekursiv,[Folge]),
	{ZeitMitZugriff,{Maxteilsumme,Zugriffe}} = timer:tc(maxteilsummeRMitZugriff,maxTeilsummeR,[Folge]),
	schreibecvs:schreibe(length(Folge), "MaxTeilsummeRekursiv", Maxteilsumme, "%", "%", trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,"%"),
	eintrag_maxteilsumme1(Folge).

eintrag_maxteilsumme1(Folge)->
	{ZeitohneZugriff,_} = timer:tc(maxteilsumme1, maxTeilsumme1, [Folge]),
	{ZeitMitZugriff,{Maxteilsumme,Index1,Index2,Zugriffe}} = timer:tc(maxteilsumme1mitzugriff, maxTeilsumme1, [Folge]),
	schreibecvs:schreibe(length(Folge), "MaxTeilsumme1", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,"%").